#ifndef _FIG_ENEMY_MINIBOSS_H_
#define _FIG_ENEMY_MINIBOSS_H_

#include "fig_transform_enemy.h"
#include "fig_flyingpath.h"
#include "fig_level.h"
#include "fig_bone_animation.h"

#include "ui/ui_manager.h"


class FIGEnemyMiniBoss : public FIGTransformEnemy
{
public:

	
	enum MINIBOSS_STATE
	{
		MINIBOSS_STATE_COMEIN,
		MINIBOSS_STATE_Tranform,
		MINIBOSS_STATE_ATTACK,
		MINIBOSS_STATE_TranformBack,
		MINIBOSS_STATE_ROTATEBACK,
		MINIBOSS_STATE_GOBACK,
	};

	FIGEnemyMiniBoss(FIGEnemyCraft::ENEMY_TYPES EnemyType);
	

	
	virtual void									Tick(float dt);
	virtual void									ReSpawn();
	

protected:

	virtual void									OnShoot();
	virtual void									GotDamage(float Amount,FIGBullet* pBullet, bool Force);

	virtual void									Tick_Attack(float dt);
	
	virtual void									Tick_RotateBack(float dt);
	virtual void									Tick_GoBack(float dt);	
		
	MINIBOSS_STATE									m_MiniBossState;
	
	
	float											m_RotateBackDegree;
	float											m_RotateCounter;
	bool											m_RotateBackClockWise;
	float											m_ComeInStopY;
	
	int												m_CurrentAttackCount;
	int												m_MaxAttackCount;	
	
	math::Vec2										m_GoBackDir;
};

#endif
